Other Constants

MGLClusterIdentifierInvalid

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLErrorDomain

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLExpressionInterpolationModeCubicBezier

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLExpressionInterpolationModeExponential

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLExpressionInterpolationModeLinear

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLFontColorAttribute

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

    The font color expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontColorAttribute

    Swift

    static let fontColorAttribute: MGLAttributedExpressionKey
  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLFontNamesAttribute

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

    The font color expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontColorAttribute

    Swift

    static let fontColorAttribute: MGLAttributedExpressionKey
  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLFontScaleAttribute

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

    The font color expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontColorAttribute

    Swift

    static let fontColorAttribute: MGLAttributedExpressionKey
  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLMapViewDecelerationRateFast

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLMapViewDecelerationRateImmediate

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

    The font color expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontColorAttribute

    Swift

    static let fontColorAttribute: MGLAttributedExpressionKey
  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLMapViewDecelerationRateNormal

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

    The font color expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontColorAttribute

    Swift

    static let fontColorAttribute: MGLAttributedExpressionKey
  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLMapViewPreferredFramesPerSecondDefault

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

    The font color expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontColorAttribute

    Swift

    static let fontColorAttribute: MGLAttributedExpressionKey
  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLMapViewPreferredFramesPerSecondLowPower

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

    The font color expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontColorAttribute

    Swift

    static let fontColorAttribute: MGLAttributedExpressionKey
  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLMapViewPreferredFramesPerSecondMaximum

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLOfflinePackErrorNotification

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLOfflinePackMaximumMapboxTilesReachedNotification

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLOfflinePackProgressChangedNotification

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLOfflinePackUserInfoKeyError

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLOfflinePackUserInfoKeyMaximumCount

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLOfflinePackUserInfoKeyProgress

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLOfflinePackUserInfoKeyState

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionBuffer

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionClipsCoordinates

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionClusterProperties

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionClusterRadius

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionClustered

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionLineDistanceMetrics

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionMaximumZoomLevel

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionMaximumZoomLevelForClustering

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionMinimumZoomLevel

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionSimplificationTolerance

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLShapeSourceOptionWrapsCoordinates

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLTileSourceOptionAttributionHTMLString

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLTileSourceOptionAttributionInfos

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLTileSourceOptionCoordinateBounds

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLTileSourceOptionDEMEncoding

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLTileSourceOptionMaximumZoomLevel

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLTileSourceOptionMinimumZoomLevel

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLTileSourceOptionTileCoordinateSystem

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MGLTileSourceOptionTileSize

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MapboxVersionNumber

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyMaximumCount

    The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]

MapboxVersionString

The following constants are available globally.

  • MGLFontNamesAttribute

    The font name string array expression used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute

    Swift

    static let fontNamesAttribute: MGLAttributedExpressionKey
  • MGLFontScaleAttribute

    The font scale number expression relative to MGLSymbolStyleLayer.textFontSize used to format the text.

    Declaration

    Objective-C

    extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute

    Swift

    static let fontScaleAttribute: MGLAttributedExpressionKey
  • MGLFontColorAttribute

  • MGLClusterIdentifierInvalid

    An NSUInteger constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.

    Declaration

    Objective-C

    extern const NSUInteger MGLClusterIdentifierInvalid

    Swift

    let MGLClusterIdentifierInvalid: UInt
  • MGLShapeSourceOptionWrapsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value is NO.

    Setting this option to YES affects rendering performance.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates

    Swift

    static let wrapsCoordinates: MGLShapeSourceOption
  • MGLShapeSourceOptionClipsCoordinates

    An NSNumber object containing a Boolean value; specifies whether the shape of an MGLComputedShapeSource should be clipped at the edge of each tile. The default value is NO.

    Setting this option to YES affects rendering performance. Use this option to clip MGLPolylines and MGLPolygons at tile boundaries without artifacts.

    This option is used with the MGLComputedShapeSource class; it is ignored when creating an MGLShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates

    Swift

    static let clipsCoordinates: MGLShapeSourceOption
  • MGLOfflinePackProgressChangedNotification

    Posted by the shared MGLOfflineStorage object when an MGLOfflinePack object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in the progress property changes.

    The object is the MGLOfflinePack object whose progress changed. The userInfo dictionary contains the pack’s current state in the MGLOfflinePackUserInfoKeyState key and details about the pack’s current progress in the MGLOfflinePackUserInfoKeyProgress key. You may also consult the MGLOfflinePack.state and MGLOfflinePack.progress properties, which provide the same values.

    If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s progress key path.

    See the Download an offline map example to learn how to calculate the progress of an offline download.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification

    Swift

    static let MGLOfflinePackProgressChanged: NSNotification.Name
  • MGLOfflinePackErrorNotification

    Posted by the shared MGLOfflineStorage object whenever an MGLOfflinePack object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.

    The object is the MGLOfflinePack object that encountered the error. The userInfo dictionary contains the error object in the MGLOfflinePackUserInfoKeyError key.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification

    Swift

    static let MGLOfflinePackError: NSNotification.Name
  • MGLOfflinePackMaximumMapboxTilesReachedNotification

    Posted by the shared MGLOfflineStorage object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.

    The object is the MGLOfflinePack object that reached the tile limit in the course of downloading. The userInfo dictionary contains the tile limit in the MGLOfflinePackUserInfoKeyMaximumCount key.

    Once this limit is reached, no instance of MGLOfflinePack can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the -[MGLOfflineStorage removePack:withCompletionHandler:] method.

    Declaration

    Objective-C

    extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification

    Swift

    static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
  • MGLOfflinePackUserInfoKeyState

    The key for an NSNumber object that indicates an offline pack’s current state. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -integerValue on the object to receive the MGLOfflinePackState-typed state.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState

    Swift

    static let state: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyProgress

    The key for an NSValue object that indicates an offline pack’s current progress. This key is used in the userInfo dictionary of an MGLOfflinePackProgressChangedNotification notification. Call -MGLOfflinePackProgressValue on the object to receive the MGLOfflinePackProgress-typed progress.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress

    Swift

    static let progress: MGLOfflinePackUserInfoKey
  • MGLOfflinePackUserInfoKeyError

    The key for an NSError object that is encountered in the course of downloading an offline pack. This key is used in the userInfo dictionary of an MGLOfflinePackErrorNotification notification. The error’s domain is MGLErrorDomain. See MGLErrorCode for possible error codes.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError

    Swift

    static let error: MGLOfflinePackUserInfoKey
  • The key for an NSNumber object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in the userInfo dictionary of an MGLOfflinePackMaximumMapboxTilesReachedNotification notification. Call -unsignedLongLongValue on the object to receive the uint64_t-typed tile limit.

    Declaration

    Objective-C

    extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount

    Swift

    static let maximumCount: MGLOfflinePackUserInfoKey
  • MGLTileSourceOptionDEMEncoding

    An NSNumber object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described in MGLDEMEncoding.

    The default value for this option is MGLDEMEncodingMapbox.

    This option cannot be represented in a TileJSON or style JSON file. It is used with the MGLRasterDEMSource class and is ignored when creating an MGLRasterTileSource or MGLVectorTileSource object.

    Declaration

    Objective-C

    extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding

    Swift

    static let demEncoding: MGLTileSourceOption
  • MGLTileSourceOptionTileSize

    An NSNumber object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.

    The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.

    This option is only applicable to MGLRasterTileSource objects; it is ignored when initializing MGLVectorTileSource objects.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize

    Swift

    static let tileSize: MGLTileSourceOption
  • MGLShapeSourceOptionClustered

    An NSNumber object containing a Boolean enabling or disabling clustering. If the shape property contains point shapes, setting this option to YES clusters the points by radius into groups. The default value is NO.

    This option corresponds to the cluster source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this MGLShapeSourceOption.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered

    Swift

    static let clustered: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterRadius

    An NSNumber object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius

    Swift

    static let clusterRadius: MGLShapeSourceOption
  • MGLShapeSourceOptionClusterProperties

    An NSDictionary object where the key is an NSString. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is an NSArray consisting of two NSExpression objects.

    The first object determines how the attribute values are accumulated from the cluster points. It is an NSExpression with an expression function that accepts two or more arguments, such as sum or max. The arguments should be featureAccumulated and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.

    The second NSExpression in the array determines which attribute values are accessed from individual features within a cluster.

    let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
              let secondExpression = NSExpression(forKeyPath: "magnitude")
              let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]
              
              let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                                         .clusterProperties: clusterPropertiesDictionary]
              

    This option corresponds to the clusterProperties source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties

    Swift

    static let clusterProperties: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevelForClustering

    An NSNumber object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value of MGLShapeSourceOptionMaximumZoomLevel so that, at the maximum zoom level, the shapes are not clustered.

    This option corresponds to the clusterMaxZoom source property in the Mapbox Style Specification.

    This option only affects point features within an MGLShapeSource object; it is ignored when creating an MGLComputedShapeSource object.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering

    Swift

    static let maximumZoomLevelForClustering: MGLShapeSourceOption
  • MGLShapeSourceOptionMinimumZoomLevel

    An NSNumber object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.

    This option corresponds to the minzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionMaximumZoomLevel

    An NSNumber object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.

    This option corresponds to the maxzoom source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLShapeSourceOption
  • MGLShapeSourceOptionBuffer

    An NSNumber object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.

    This option corresponds to the buffer source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer

    Swift

    static let buffer: MGLShapeSourceOption
  • MGLShapeSourceOptionSimplificationTolerance

    An NSNumber object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.

    This option corresponds to the tolerance source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance

    Swift

    static let simplificationTolerance: MGLShapeSourceOption
  • MGLShapeSourceOptionLineDistanceMetrics

    An NSNumber object containing a Boolean enabling or disabling calculating line distance metrics.

    Set this property to YES in order for the MGLLineStyleLayer.lineGradient property to have its intended effect. The default value is NO.

    This option corresponds to the lineMetrics source property in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics

    Swift

    static let lineDistanceMetrics: MGLShapeSourceOption
  • MGLTileSourceOptionMinimumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMaximumZoomLevel, if specified. The default value for this option is 0.

    This option corresponds to the minzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel

    Swift

    static let minimumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionMaximumZoomLevel

    An NSNumber object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.

    The value should be between 0 and 22, inclusive, and less than MGLTileSourceOptionMinimumZoomLevel, if specified. The default value for this option is 22.

    This option corresponds to the maxzoom key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel

    Swift

    static let maximumZoomLevel: MGLTileSourceOption
  • MGLTileSourceOptionCoordinateBounds

    An NSValue object containing an MGLCoordinateBounds struct that specifies the geographic extent of the source.

    If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.

    This option corresponds to the bounds key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds

    Swift

    static let coordinateBounds: MGLTileSourceOption
  • MGLTileSourceOptionAttributionHTMLString

    An HTML string defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed. If the MGLTileSourceOptionAttributionInfos option is specified, this option is ignored.

    This option corresponds to the attribution key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString

    Swift

    static let attributionHTMLString: MGLTileSourceOption
  • MGLTileSourceOptionAttributionInfos

    An array of MGLAttributionInfo objects defining the buttons to be displayed in an action sheet when the source is part of a map view’s style and the map view’s attribution button is pressed.

    By default, no attribution statements are displayed.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos

    Swift

    static let attributionInfos: MGLTileSourceOption
  • MGLTileSourceOptionTileCoordinateSystem

    An NSNumber object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described in MGLTileCoordinateSystem.

    The default value for this option is MGLTileCoordinateSystemXYZ.

    This option corresponds to the scheme key in the TileJSON specification.

    Declaration

    Objective-C

    extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem

    Swift

    static let tileCoordinateSystem: MGLTileSourceOption
  • MGLErrorDomain

    Indicates an error occurred in the Mapbox SDK.

    Declaration

    Objective-C

    extern const NSErrorDomain _Nonnull MGLErrorDomain

    Swift

    let MGLErrorDomain: String
  • MGLExpressionInterpolationModeLinear

    An NSString identifying the linear interpolation type in an NSExpression.

    This attribute corresponds to the linear value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear

    Swift

    static let linear: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeExponential

    An NSString identifying the expotential interpolation type in an NSExpression.

    This attribute corresponds to the exponential value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential

    Swift

    static let exponential: MGLExpressionInterpolationMode
  • MGLExpressionInterpolationModeCubicBezier

    An NSString identifying the cubic-bezier interpolation type in an NSExpression.

    This attribute corresponds to the cubic-bezier value in the interpolate expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier

    Swift

    static let cubicBezier: MGLExpressionInterpolationMode
  • MGLMapViewDecelerationRateNormal

    The default deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal

    Swift

    static let normal: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateFast

    A fast deceleration rate for a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast

    Swift

    static let fast: MGLMapViewDecelerationRate
  • MGLMapViewDecelerationRateImmediate

    Disables deceleration in a map view.

    Declaration

    Objective-C

    extern const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate

    Swift

    static let immediate: MGLMapViewDecelerationRate
  • MGLMapViewPreferredFramesPerSecondDefault

    The default frame rate. This can be either 30 FPS or 60 FPS, depending on device capabilities.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondDefault

    Swift

    static let `default`: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondLowPower

    A conservative frame rate; typically 30 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondLowPower

    Swift

    static let lowPower: MGLMapViewPreferredFramesPerSecond
  • MGLMapViewPreferredFramesPerSecondMaximum

    The maximum supported frame rate; typically 60 FPS.

    Declaration

    Objective-C

    extern const MGLMapViewPreferredFramesPerSecond
                  MGLMapViewPreferredFramesPerSecondMaximum

    Swift

    static let maximum: MGLMapViewPreferredFramesPerSecond
  • MapboxVersionNumber

    Project version number for Mapbox.

    Declaration

    Objective-C

    extern double MapboxVersionNumber

    Swift

    var MapboxVersionNumber: Double
  • MapboxVersionString

    Project version string for Mapbox.

    Declaration

    Objective-C

    extern const unsigned char MapboxVersionString[]